<?php

/*
 * CLASE ENTIDAD CASO 
 * Autor: Luis Rojas
 * Version: 1.0
 * Fecha Creacion: 26/08/2013
 * Fecha Modificación: 26/08/2013
 */
require_once '../Control/CsCtrlData.php';
require_once '../Data/CsConexion.php';
class CsCaso extends CsConexion {
    var $tabla;
    var $atributo;
    var $dato;
    var $ncol;
    var $nllave;
    
    function  CsCaso(){
        $this->tabla = "caso";
        $this->atributo[0]="cascod";
        $this->atributo[1]="casfec";
        $this->atributo[2]="casdes";
        $this->atributo[3]="percod";
        $this->atributo[4]="estcod";
        $this->ncol=5;
        $this->nllave=1;
    }
    
    function GuardarDato(){
        $objcontrol = new CsCtrlData();
        $sql = $objcontrol->Insert($this->tabla, $this->dato, $this->ncol);
        return $this->Transaccion($sql);
    }
    
    function ActualizarDato(){
        $objcontrol = new CsCtrlData();
        $sql = $objcontrol->Update($this->tabla, $this->dato, $this->atributo, $this->ncol, $this->nllave);
        return $this->Transaccion($sql);
    }
    function ActualizarEstado($cn){
        $valor = $this->dato;
        $sql = "update caso set estcod = $valor[1] where cascod = $valor[0]";
        return $this->Transaccionx($sql, $cn);
    }
            
    function EliminarDato(){
        $objcontrol = new CsCtrlData();
        $sql = $objcontrol->Delete($this->tabla, $this->dato, $this->atributo, $this->nllave);
        return $this->Transaccion($sql);
    }
    
    function TraerDatos(){
        $sql = "select * from $this->tabla";
        return $this->Transaccion($sql);
    }
    
    ##### FUNCION PARA IDENTIFICAR LLAVE #####    
    function Llave(){
        $colum = $this->atributo[0];
        $sql = "select max($colum) from $this->tabla";
        return $this->Transaccion($sql);
    }
    
    function CasosAbiertosxClientes(){
        $sql = "select caso.cascod, caso.casfec,caso.casdes,persona.pernom, cliente.cliras
                from $this->tabla inner join persona on caso.percod = persona.percod inner join solicitante
                on caso.percod = solicitante.percod inner join cliente on solicitante.clicod = cliente.clicod
                where ".$this->atributo[4]."= 1 order by ".$this->atributo[0]." desc";
        return $this->Transaccion($sql);
    }
    
    function CasosPendientesCliente(){
        $valor = $this->dato[0];
        $sql = "select atencion_caso.cascod, persona.pernom, cliente.cliras, caso.casdes, caso.percod, 
                caso.estcod, atencion_caso.casdia, atencion_caso.cassol, 
                atencion_caso.casobs, atencion_caso.pricod, prioridad.prinom from caso inner join atencion_caso on 
                caso.cascod = atencion_caso.cascod inner join prioridad on atencion_caso.pricod = prioridad.pricod 
                inner join persona on caso.percod = persona.percod inner join 
                solicitante on persona.percod = solicitante.percod inner join 
                cliente on solicitante.clicod = cliente.clicod   where atencion_caso.percod = $valor 
                and caso.estcod = 2 order by atencion_caso.pricod asc";
        return $this->Transaccion($sql);
    }
    
    function ConsultaCaso(){
        $valor = $this->dato;
        $sql = "select caso.cascod, persona.pernom, cliente.cliras, caso.casdes, caso.casfec,estado.estnom 
            from caso inner join atencion_caso on caso.cascod = atencion_caso.cascod 
                      inner join persona on caso.percod = persona.percod 
                      inner join solicitante on persona.percod = solicitante.percod 
                      inner join cliente on solicitante.clicod = cliente.clicod   
                      inner join estado on caso.estcod=estado.estcod where caso.cascod = $valor[0] and solicitante.percod=$valor[1]";
        return $this->Transaccion($sql);
        //echo $sql;
    }
}

?>
